A server in a network system may employ a disk storage unit for storing data employed by the server. The disk storage unit may store various types of information such as the operating system under which the micro-processor operates, different application programs that are run by the system and information that is created and manipulated by the various application programs.
The task of allocating disk storage space in the system is generally the responsibility of the operating system, e.g., AIX™, UNIX™. The operating system may logically subdivide the disk storage unit into file systems comprising smaller storage disks. Such systems, in a conventional manner, are employed to store data files, executable programs, and the like. A characteristic of such systems is that it is often difficult to increase the size of a file system after the system is in use and the need for increased size becomes apparent. Nor is it easy to reduce the size of a file system in order to free up data storage space.
These inadequacies may be addressed by the operating system by what is commonly referred to as a Logical Volume Manager (LVM). The LVM may include code incorporated in the operating system kernel that runs above the traditional physical device drivers. The LVM may divide the disk storage space into one or more disks that are commonly referred to as physical volumes (PV's). A physical volume group (PVG) is a named collection of a plurality of physical volumes (PVs), e.g., 128 physical volumes (PVs). The physical volumes (PVs) exclusively owned by a respective physical volume group (PVG) need not be of the same type or size. Each physical volume (PV) within a physical volume group (PVG) has a unique identity within the PVG. The physical volume group (PVG) may provide for portability of physical storage across systems and contains attributes that are common to all objects within the PVG.
Within each physical volume group (PVG), all the constituent physical volumes (PVs) are logically subdivided into physical clusters (PCs) representing a number of equally sized contiguous units of storage space. A physical cluster (PC) may be the smallest unit of disk space allocation, and is a contiguous space on a physical volume (PV).
A logical volume (LV) may be defined by the LVM to be within a physical volume group (PVG) that constitutes a named linear address space comprising an extensible collection of physical clusters (PCs). A logical volume (LV) may exist within only a single physical volume group (PVG) but the physical clusters (PCs) assigned to the LV may come from one or more of the physical volumes (PVs) in the PVG. Hence, the principal function of a logical volume (LV) may be to provide the abstraction of an extensible, reliable disk volume that encompasses logical areas of storage that are larger than individual physical volumes (PVs).
The LVM may further be configured to generate what is commonly referred to as “meta data” for each disk in a physical volume group (PVG). Meta data may be system configuration information that may be used to identify the physical volume group (PVG) associated with the disk as well as the other disks in the physical volume group (PVG) and the logical volumes (LVs) allocated from physical storage locations within the PVG.
A network system may comprise one or more clients, e.g., user's computer, coupled to a host, e.g., server. Clients are the requesting machines, i.e., send requests to the server, and the server is the supplying machine, i.e., supply information to clients. If the server crashes then the clients coupled to the server may no longer have the ability to communicate with the server. Subsequently, a server may have what is commonly referred to as a backup server sharing the same physical volumes (PVs) and physical volume groups (PVGs). If the main server that is coupled to the clients crashes, then the backup server may take over the functions of the main server that crashed. For example, the backup server may take over the application that was running on the main server. In order for the backup server to take over the application that was running on the main server, the backup server must first activate, i.e., start, the shared physical volume groups (PVGs).
A particular shared physical volume group may be activated by a policy of ensuring that all of the disks in that PVG comprise valid meta data. The backup server may determine whether or not the meta data is valid based on an identifier, e.g., time stamp, sent from the main server. Once the particular PVG becomes active, the PVG may remain active as long as all of the disks in that PVG remain active, i.e., possesses valid meta data. Disks may become inactive, i.e., possess invalid meta data, for a variety of reasons such as write errors due to a defective disk. When a disk becomes inactive it may consequently cause the PVG to become deactivated. That is, the PVG may not remain activated since not all of the disks are active.
Subsequently, a new policy was developed that required a quorum, i.e., a majority, of the disks in a PVG to be active, i.e., comprise valid meta data, in order to activate the PVG as well as to maintain activation of the PVG. However, requiring a quorum of disks to activate a PVG is a waste of resources.
It would therefore be desirable to activate a volume group without requiring a quorum of disks in the volume group being active, i.e., possessing valid meta data.